Today's real-world computing environments consist of many different and often incompatible hardware systems, operating systems and product versions running on client/server networks. As a result, Management Information Systems (MIS) professionals face daunting obstacles in deploying, updating and maintaining applications on all the clients and servers across their enterprises. JavaOS has been designed to help overcome these obstacles.
JavaOS is a software platform that enables Java applications to run directly on hardware without requiring a host operating system. JavaOS includes the Java Virtual Machine, the standard packages of classes, and enough operating system ("OS") code to support them. The OS code includes low-level code written in C or assembly language, plus device driver, networking, windowing, and graphics-rendering code mostly written in the Java programming language.
One application for JavaOS is to run Java programs on a variety of computing and consumer platforms. JavaOS is an operating system programmed as an object. JavaOS has been designed specifically to support Java and Java applets without having to provide backward compatibility with other legacy applications. This approach improves performance by eliminating needless layers of software and enabling the operating system to run in minimal memory configurations.
Despite all the advantages of JavaOS, there still is a need to analyze or debug programs generated in JavaOS. As with other program execution environments, one of the most common methods for debugging a program is to implement a trace program. Trace files generated from a JavaOS client are often analyzed using information that is available from the build image containing symbolic data regarding the C and the similar functions in the Java classes and their methods. The symbolic image is stripped in order to have the client load a small image. The problem is that there is an exposure for the end-user to use the wrong symbolic image with the generated trace file and thereby receive incorrect results. A variation of this problem occurs when a trace file is available and a user is not confident against which image the trace was generated.